package com.ruoyi.form.domain;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * 【请填写功能名称】对象 ax_field
 *
 * @author LZF
 * @date 2025-07-16
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "ax_field")
public class AxField extends BaseEntity {
private static final long serialVersionUID=1L;
        /** $column.columnComment */
        @TableId(value = "id", type = IdType.ASSIGN_UUID)
        private String id;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String parentId;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String basicName;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String basicCode;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String basicJavaType;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private Long sortNum;
        /** //true 复杂属性， false 一般属性 */
        @Excel(name = "//true 复杂属性， false 一般属性")
        private String dataExtend;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String formDictType;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String formTypeName;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String defaultValue;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private Long formWidth;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String jsRequired;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String uploadTypeId;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String isReadOnly;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String isAddDelFlag;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String autoCodeRuleStr;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String isAutoCode;
        /** $column.columnComment */
        @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private String attributeType;
        /*************************************************************************************************************/
        @TableField(exist = false)
        private String modelId;   //在联合查询中返回的是modelfield表中的modelId
        @TableField(exist = false)
        private List<String> refTableIdList;   //用于查询任务、知识库模型设置为继承的引用属性
        @TableField(exist = false)
        private String[] refIds;  //引用属性ids
        @TableField(exist = false)
        private String finalBasicCode;  //最终代码
        @TableField(exist = false)
        private String isDesign;  //是否为表单中显示的引用属性（0：否，1：是）
        @TableField(exist = false)
        private String layoutGroupName;  //表单属性显示分组名
        @TableField(exist = false)
        private Integer layoutColSpan;  //表单属性所占栅格
        @TableField(exist = false)
        private Integer layoutFieldSortNum;   //表单属性序号
        @TableField(exist = false)
        private Integer layoutGroupSortNum;   //表单属性分组每个组的序号
        @TableField(exist = false)
        private String filterType;
        @TableField(exist = false)
        private Long filterSortNum;
        @TableField(exist = false)
        private List<Object> qteModelIds=new ArrayList<>();   //关联ids
        @TableField(exist = false)
        private String ids;
        @TableField(exist = false)
        private JSONObject formData;
        @TableField(exist = false)
        private List<String> addRefIds;
        @TableField(exist = false)
        private List<String> itemIdList;
        @TableField(exist = false)
        private List<String> noInRefIdList;
        @TableField(exist = false)
        private List<AxField> fzList;  //复杂属性的字段信息集合
        @TableField(exist = false)
        private List<String> frontGridIdList;   //计算模型引用和非引用的属性列表时用的
        @TableField(exist = false)
        private String assTemplates;
        @TableField(exist = false)
        private String templateCode;
        @TableField(exist = false)
        private Boolean inUpFlag=true;
        @TableField(exist = false)
        private String exts;
        @TableField(exist = false)
        private String configFieldType;
        @TableField(exist = false)
        private String configFieldTypeQte;
}